package cn.jsj.hzu.qm.facecloud.ciuser.dao;

import java.util.List;

import cn.jsj.hzu.qm.facecloud.ciuser.pojo.Ciuser;
import cn.jsj.hzu.qm.facecloud.utils.Page;

public interface CiuserDao {
	// 增
	/**
	 * 新增新的用户
	 */
	public int addCiuser(Ciuser ciuser);

	// 删

	// 改
	/**
	 * 修改学生
	 */
	public int modifyCiuser(Ciuser ciuser);

	// 查
	//////////////////////////////////////// 两种按sid查询/////////////////////////////////
	/**
	 * 
	 * 按照sid(学号)查询用户
	 *
	 * 此查可以查询到启用的用户，也可以查询到禁用的用户
	 * 
	 */
	public Ciuser findCiuserBySid(String sid);

	/**
	 * 按照sid(学号)查询用户
	 * 
	 * 此查，
	 * isAll = true: 可以查询到禁用的用户
	 * isAll = false: 无法查询到禁用的用户
	 */
	public Ciuser findCiuserBySid(String sid, boolean isAll);

	/**
	 * 按照id查学生
	 */
	public Ciuser findCiuserBySid(int id);
	
	
	/**
	 * 查询激活码所属的用户
	 * 
	 * */
	
	Ciuser findCiuserByAactivation_code(String activation_code);


	/**
	 * 查询所有用户
	 * <b>不再建议使用</b>
	 * 你应当使用getUsersByType方法代替此功能：
	 * @see #getUsersByType
	 * */
	public List<Ciuser> getAllCiusers();
	
	/**
	 * 按类型分页查询用户
	 * （即用户type）
	 * */
	public List<Ciuser> getUsersByType(int type, Page page);
	
	/**
	 * 某类用户总数
	 * （即用户type）
	 * */
	public int getUsersSumByType(int type);
	
	/**
	 * 按用户类型，分页查询被禁用的用户
	 * （即用户type）
	 * */
	public List<Ciuser> getNotAvailableUsersByPage(Page page);
	
	/**
	 * 查询被禁用的用户总数
	 * （即用户type）
	 * */
	public int getNotAvailableUsersSumByType();

}
